package com.qijian.maindata.domain;

import com.baomidou.mybatisplus.annotation.TableId;
import com.baomidou.mybatisplus.annotation.TableName;
import com.fasterxml.jackson.annotation.JsonFormat;
import com.fasterxml.jackson.databind.annotation.JsonSerialize;
import com.fasterxml.jackson.databind.ser.std.ToStringSerializer;
import com.qijian.common.annotation.Excel;
import com.qijian.common.core.domain.BaseEntity;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
import lombok.EqualsAndHashCode;
import lombok.ToString;

import java.util.Date;

/**
 * 开工令装配对象 main_project_assembly
 *
 * @author qijian
 * @date 2024-08-14
 */
@EqualsAndHashCode(callSuper = true)
@Data
@ToString
@TableName("main_project_assembly")
public class ProjectAssembly extends BaseEntity{
    private static final long serialVersionUID = 1L;

    @TableId
    @JsonSerialize(using= ToStringSerializer.class)
    @ApiModelProperty(value = "主键")
    private Long id;

    @Excel(name = "编码")
    @ApiModelProperty(value = "编码")
    private String code;

    @Excel(name = "开工令id")
    @JsonSerialize(using= ToStringSerializer.class)
    @ApiModelProperty(value = "开工令id")
    private Long projectId;

    @Excel(name = "开工令")
    @ApiModelProperty(value = "开工令")
    private String projectMachineNo;


    @Excel(name = "产品编码")
    @ApiModelProperty(value = "产品编码")
    private String itemCode;

    @Excel(name = "产品名称")
    @ApiModelProperty(value = "产品名称")
    private String itemName;

    @Excel(name = "项目号")
    @ApiModelProperty(value = "项目号")
    private String projectNo;

    @Excel(name = "机台号")
    @ApiModelProperty(value = "机台号")
    private String machineNo;


    @Excel(name = "图号")
    @ApiModelProperty(value = "图号")
    private String drawingNo;

    @Excel(name = "质检员id")
    @JsonSerialize(using= ToStringSerializer.class)
    @ApiModelProperty(value = "质检员id")
    private Long checkerId;

    @Excel(name = "质检员")
    @ApiModelProperty(value = "质检员")
    private String checkerName;

    @Excel(name = "部件数量")
    @ApiModelProperty(value = "部件数量")
    private Integer partQuantity;

    @JsonFormat(pattern = "yyyy-MM-dd")
    @Excel(name = "检验日期", width = 30, dateFormat = "yyyy-MM-dd")
    @ApiModelProperty(value = "检验日期")
    private Date checkerTime;

    @Excel(name = "备注")
    @ApiModelProperty(value = "备注")
    private String remark;

    @Excel(name = "状态: 1.创建")
    @ApiModelProperty(value = "状态: 1.创建")
    private Boolean status;

    @Excel(name = "审核人id")
    @JsonSerialize(using= ToStringSerializer.class)
    @ApiModelProperty(value = "审核人id")
    private Long approverId;

    @Excel(name = "审核人")
    @ApiModelProperty(value = "审核人")
    private String approverName;

    @JsonFormat(pattern = "yyyy-MM-dd")
    @Excel(name = "审核时间", width = 30, dateFormat = "yyyy-MM-dd")
    @ApiModelProperty(value = "审核时间")
    private Date approverTime;

    @Excel(name = "创建人id")
    @JsonSerialize(using= ToStringSerializer.class)
    @ApiModelProperty(value = "创建人id")
    private Long createById;

}
